package string;

import java.util.Arrays;

/**
 * 字符串支持正则表达式方法二：
 * String[] spilt(String regex)
 * 将当前字符按照满足正则表达式的部分进行拆分，返回的数组中包含被拆分出来的所有部分
 */
public class SplitDemo {
    public static void main(String[] args) {
        String str = "abc123def456ghi";
        //按照数字部分进行拆分，得到所有的字母部分
        String[] data = str.split("[0-9]+");
        System.out.println(data.length);
        System.out.println(data);

        str = "a,b,c,d,e,f";
        data = str.split(",");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));
        /*
           当连续遇到了两个可拆分项时，他们之间会拆分出一个空字符串
           字符串一上来就出现了可拆分享时，那么会先拆分出一个空字符串
           如果是在字符串末尾连续出现可拆分项，那么拆分出的空字符串都会被忽略
         */
        str = ",,a,,b,c,d,e,f,,,,,,,,,,,";
        data = str.split(",");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));

        /*
           "."在正则表达式中表示任意字符，因此如果直接按照"."拆分，则得不到任何内容
         */
        str = "a.b.c.d.e.f.g";
        data = str.split("\\.");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));
    }
}
